package com.sumainfor.pc.epc.feign;

import com.sumainfor.common.util.JsonResult;
import com.sumainfor.common.utlis.Pager;
import com.sumainfor.pc.epc.fallback.HousingauditFallback;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.*;

import java.util.List;
import java.util.Map;

@FeignClient(name = "TANGNEST-PC-MARKET", fallback = HousingauditFallback.class)
public interface Housingauditfeign {


    @RequestMapping("/key/HousingConInfoController/getConInfo")
    JsonResult getConInfo(@RequestParam("params") Map<String, Object> params);

    @RequestMapping("/key/Haudit/getCommNi")
    JsonResult getCommNi();

    @RequestMapping("/key/Haudit/getSysUserId")
    JsonResult getSysUserId(@RequestParam("HouId") String houid);


    @RequestMapping("/key/Haudit/getProjectNameAndHousingConf")
    JsonResult getProjectNameAndHousingConf(@RequestParam("huIds") List<String> ids);


    @RequestMapping("/key/Haudit/getHousing")
    JsonResult getHousing(@RequestParam("params") Map<String, Object> params, @RequestParam("pager") Pager pager);


    @RequestMapping("/key/Haudit/getHousingByFinState")
    JsonResult getHousingByFinState();

    /**
     * 审核房源
     *
     * @param params
     * @return
     */
    @PostMapping("/key/Haudit/updateHousingState")
    JsonResult updateHousingState(@RequestBody Map<String, Object> params);

    /**
     * 按照房源编号查看房源详情
     *
     * @param params
     * @return
     */
    @RequestMapping("/key/Haudit/getListingDetails")
    JsonResult getListingDetails(@RequestParam("params") Map<String, Object> params);

    /**
     * 新增房源配置
     *
     * @param params
     * @return
     */
    @PostMapping("/key/Haudit/saveConInfo")
    JsonResult saveConInfo(@RequestBody Map<String, Object> params);

    /**
     * 删除房源配置
     *
     * @param params
     * @return
     */
    @PostMapping("/key/Haudit/deleteConInfo")
    JsonResult deleteConInfo(@RequestParam Map<String, Object> params);

    /**
     * 修改房源配置
     *
     * @param params
     * @return
     */
    @PostMapping("/key/Haudit/updateConInfo")
    JsonResult updateConInfo(@RequestBody Map<String, Object> params);


    /**
     * 修改房源配置
     *
     * @param params
     * @return
     */
    @RequestMapping("/key/Haudit/updateHousingByFinState")
    JsonResult updateHousingByFinState(@RequestParam Map<String, Object> params);

    /**
     * 创建装修计划的时候是否开启无线网络或者有线电视
     *
     * @param params
     * @return
     */
    @PostMapping("/key/Haudit/saveCon_Info")
    Map<String, Object> saveCon_Info(@RequestBody Map<String, Object> params);


    /**
     * 根据房源id查询房源
     *
     * @param params
     * @return
     */
    @PostMapping("/key/HousingConInfoController/gettcmktHousing")
    public JsonResult gettcmktHousing(@RequestBody List<Map<String, Object>> params);


    /**
     * 根据房源id查询房源
     *
     * @param params
     * @return
     */
    @PostMapping("/key/Haudit/getHougingbyhid")
    public JsonResult getHougingbyhid(@RequestBody Map<String, Object> params);

    /**
     * 根据房源id查询房源
     *
     * @param params
     * @return
     */
    @PostMapping("/key/Haudit/getDecoratePlanInfoResult")
    public JsonResult getDecoratePlanInfoResult(@RequestBody Map<String, Object> params);

    /**
     * 根据房源id查询房源
     *
     * @param params
     * @return
     */
    @PostMapping("/key/Haudit/postmap")
    public JsonResult postmap(@RequestBody Map<String, Object> params);


    /**
     * @param params
     * @return
     */
    @PostMapping("/key/Haudit/updatehousingtt")
    public JsonResult updatehousingtt(@RequestBody Map<String, Object> params);


    /**
     * @param params
     * @return
     */
    @RequestMapping("/key/Haudit/gettcmkt_housingByHouId")
    public JsonResult gettcmkt_housingByHouId(@RequestParam Map<String, Object> params);

    /**
     * @param params
     * @return
     */
    @RequestMapping("/key/Haudit/updatehousingByHousId")
    public JsonResult updatehousingByHousId(@RequestParam Map<String, Object> params);

    /**
     * @param params
     * @return
     */
    @PostMapping("/key/Haudit/gethousingByHouId")
    public JsonResult gethousingByHouId(@RequestBody List<Map<String, Object>> params);


    @PostMapping("/key/Haudit/gethousingByids")
    JsonResult gethousingByids(@RequestBody Map<String, Object> params, @RequestParam("pager") Pager pager);

    @PostMapping("/key/Haudit/saveHousingCon")
    JsonResult saveHousingCon(@RequestBody Map<String, Object> params);

    /**
     * 功能描述:
     * 根据房源配置获取所有房源资料(字段可扩展)
     *
     * @Author zhlu
     * @Description //TODO
     * @Date 2019/5/9 13:59
     */
    @ResponseBody
    @GetMapping("/key/Haudit/getAllHousingConLists")
    JsonResult getAllHousingConLists();

    /**
     * 功能描述:
     * 根据房源编号获取房源资料
     *
     * @Author zhlu
     * @Description //TODO
     * @Date 2019/5/10 11:34
     */
    @ResponseBody
    @GetMapping("/key/Haudit/getRepairMaps")
    JsonResult getRepairMaps(@RequestParam Map<String, Object> params);

    /**
     * 功能描述:
     * 根据租客编号获取租客资料
     *
     * @Author zhlu
     * @Description //TODO
     * @Date 2019/5/10 13:47
     */
    @ResponseBody
    @GetMapping("/key/tenant/getTenantMap")
    JsonResult getTenantMap(@RequestParam Map<String, Object> params);

    /**
     * 功能描述:
     * 获取所有的租客资料
     *
     * @Author zhlu
     * @Description //TODO
     * @Date 2019/5/15 19:56
     */
    @ResponseBody
    @GetMapping("/key/gmiotenant/getTenantList")
    JsonResult getTenantList();

    /**
     * 功能描述:
     * 获取所有房源资料(字段可扩展)
     *
     * @Author zhlu
     * @Description //TODO
     * @Date 2019/5/29 20:49
     */
    @ResponseBody
    @GetMapping("/key/allhou/getAllHousingArrList")
    JsonResult getAllHousingArrList();


    /**
     * 获取签约公司编号
     *
     * @param houId
     * @return
     */
    @PostMapping("/key/TcmktHousingSysUserId/getCorId")
    JsonResult getCorId(@RequestParam("houId") String houId);


}
